package com.ruoyi.scm.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 供应链SCM-采购管理-采购合同子对象 scm_purchase_contract_item
 *
 * @author Ryan
 * @date 2025-03-12
 */
@ApiModel("采购管理-采购合同子对象")
public class ScmPurchaseContractItem extends BaseEntity {

    /** id */
    @ApiModelProperty("编号")
    private Long id;

    /** 合同Id */
    @ApiModelProperty("合同Id")
    private Long purchasingContractId;

    /** 物料Id */
    @Excel(name = "物料Id")
    @ApiModelProperty("物料Id")
    private Long materialId;

    /** 采购数量 */
    @Excel(name = "采购数量")
    @ApiModelProperty("采购数量")
    private Integer purchaseQuantity;

    /** 金额 */
    @Excel(name = "单价")
    @ApiModelProperty("单价")
    private Double amount;

    /** 需求日期 */
    @Excel(name = "需求日期")
    @ApiModelProperty("需求日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date requirementDate;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String materialName;

    /** 型号 */
    @Excel(name = "型号")
    @ApiModelProperty("型号")
    private String materialModel;

    /** 规格 */
    @Excel(name = "规格")
    @ApiModelProperty("规格")
    private String materialSpecifications;

    /** 单位 */
    @Excel(name = "单位")
    @ApiModelProperty("单位")
    private String materialUnit;

    /** 单价 */
    @Excel(name = "单价")
    @ApiModelProperty("单价")
    private Double materialPrice;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getPurchasingContractId() {
        return purchasingContractId;
    }

    public void setPurchasingContractId(Long purchasingContractId) {
        this.purchasingContractId = purchasingContractId;
    }

    public Long getMaterialId() {
        return materialId;
    }

    public void setMaterialId(Long materialId) {
        this.materialId = materialId;
    }

    public String getMaterialName() {
        return materialName;
    }

    public void setMaterialName(String materialName) {
        this.materialName = materialName;
    }

    public Integer getPurchaseQuantity() {
        return purchaseQuantity;
    }

    public void setPurchaseQuantity(Integer purchaseQuantity) {
        this.purchaseQuantity = purchaseQuantity;
    }

    public Double getAmount() {
        return amount;
    }

    public void setAmount(Double amount) {
        this.amount = amount;
    }

    public Date getRequirementDate() {
        return requirementDate;
    }

    public void setRequirementDate(Date requirementDate) {
        this.requirementDate = requirementDate;
    }

    public String getMaterialModel() {
        return materialModel;
    }

    public void setMaterialModel(String materialModel) {
        this.materialModel = materialModel;
    }

    public String getMaterialSpecifications() {
        return materialSpecifications;
    }

    public void setMaterialSpecifications(String materialSpecifications) {
        this.materialSpecifications = materialSpecifications;
    }

    public String getMaterialUnit() {
        return materialUnit;
    }

    public void setMaterialUnit(String materialUnit) {
        this.materialUnit = materialUnit;
    }

    public Double getMaterialPrice() {
        return materialPrice;
    }

    public void setMaterialPrice(Double materialPrice) {
        this.materialPrice = materialPrice;
    }

    @Override
    public String toString() {
        return "ScmPurchaseContractItem{" +
                "id=" + id +
                "materialName="+materialName+
                ", purchasingContractId=" + purchasingContractId +
                ", materialId=" + materialId +
                ", purchaseQuantity=" + purchaseQuantity +
                ", amount=" + amount +
                ", requirementDate=" + requirementDate +
                ", materialModel='" + materialModel + '\'' +
                ", materialSpecifications='" + materialSpecifications + '\'' +
                ", materialUnit='" + materialUnit + '\'' +
                ", materialPrice=" + materialPrice +
                '}';
    }
}
